1. Field of the Invention
The present invention relates to encoders and scheduling methods for macroblock-based adaptive frame/filed (MBAFF) coding; and more particularly, the present invention relates to encoders and scheduling methods of pipeline processing macroblocks or macroblock pairs for MBAFF coding.
2. Descriptions of the Related Art
Since multimedia applications in the future have to support highly interaction and rapid transmission, multimedia storage formats with higher compression ratio and higher quality of contents are demanded. MPEG-2, MPEG-4, H.263, and H.264/AVC formats are some of the examples. Among the formats, H.264/AVC format undoubtedly plays an important role in the future trend.
On-going applications range from High Definition Digital Video Disc (HDDVD) or BluRay for home entertainments with large screens to Digital Video Broadcasting for Handheld terminals (DVB-H) with small screens. However, the H.264/AVC coding performance comes at the price of computational complexity. According to the instruction profiling with HDTV specification, H.264/AVC encoding process requires 3600 Giga-instructions per second (GIPS) computation and 5570 Giga-bytes per second (GBytes/s) memory access. For real-time applications, the acceleration by a dedicated hardware is a must.
However, it is difficult to design the architecture for the H.264/AVC hardwired encoder and its modules. Besides high computational complexity and memory access, there are many sequential procedures for encoding a macroblock (Mb), these procedures may include intra and inter predictions, block/macroblock/frame-level reconstruction loops, entropy coding, and in-loop deblocking filter.
FIG. 1 illustrates a picture composed of a plurality of Mbs 0, 1, 2, 3, . . . , 47, and the number marked on the MBs indicates the sequential order of encoding. Macroblock-based adaptive frame/filed (MBAFF) coding can be adopted in H.264/AVC or future standards to improve the coding efficiency. The coding unit for MBAFF coding is a macroblock pair (MbPair), each MbPair comprises two Mbs, such as Mbs 0, 8 or Mbs 1, 9. The encoder encodes one MbPair twice, first by frame coding and then by field coding, or vice versa. With MBAFF coding, each Mb of the picture requires two-pass coding path, so that the computational complexity is twice as the normal coding.